package ru.susu.algebra.util;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * Простая реализация LRU кэша на основе {@link LinkedHashMap}
 *
 * @author akargapolov
 * @since: 20.06.2010
 */
public class LRUHashMap<K, V> extends LinkedHashMap<K, V>
{
	private static final long serialVersionUID = 5806283927249211294L;

	public static final int DEFAULT_SIZE = 1000;

	private int _size = DEFAULT_SIZE;

	public LRUHashMap()
	{
	}

	public LRUHashMap(int size)
	{
		_size = size;
	}

	@Override
	protected boolean removeEldestEntry(Map.Entry<K, V> eldest)
	{
		return size() > _size;
	}
}
